package com.huike.pmps.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 作者：谌贵斌(黑桃K)
 * 日期: 2888-08-08
 * 老师QQ: 272488352
 * 官方QQ交流群: 377748272
 * 刀客程序员官网：http://www.daoke360.com
 * 刀客程序员淘宝旗舰店：https://daoke360.taobao.com/
 */

/**
 * 供应商结算-入库单
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("p_supplier_warehouse_receipt")
public class SupplierWarehouseReceipt {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "p_po表主键id", hidden = true)
    private Integer poId;
    @ApiModelProperty(value = "po课程主键id", hidden = true)
    private Integer poCourseId;
    @ApiModelProperty(value = "po课程供应商主键id",hidden = true)
    private Integer poCourseSupplierId;
    @ApiModelProperty(value = "结算单ID")
    private Integer supplierSettlementId;
    @ApiModelProperty(value = "po单号", hidden = true)
    private String po;
    @ApiModelProperty(value = "po对应的合同金额", hidden = true)
    private BigDecimal poContractAmount;
    @ApiModelProperty(value = "客户名称", hidden = true)
    private String customerName;
    @ApiModelProperty(value = "战区ID", hidden = true)
    private Integer regionId;
    @ApiModelProperty(value = "战区名称", hidden = true)
    private String regionName;
    @ApiModelProperty(value = "省份ID", hidden = true)
    private Integer provinceId;
    @ApiModelProperty(value = "省份名称", hidden = true)
    private String provinceName;
    @ApiModelProperty(value = "课程经理/负责人ID", hidden = true)
    private Integer courseChargeId;
    @ApiModelProperty(value = "课程经理/负责人名字", hidden = true)
    private String courseChargeName;
    @ApiModelProperty(value = "课程ID", hidden = true)
    private Long courseId;
    @ApiModelProperty(value = "课程名称", hidden = true)
    private String courseName;
    @ApiModelProperty(value = "学科门类ID", hidden = true)
    private Integer subjectCategoryId;
    @ApiModelProperty(value = "学科门类名称", hidden = true)
    private String subjectCategoryName;
    @ApiModelProperty(value = "专业类别", hidden = true)
    private String majorCategory;
    @ApiModelProperty(value = "拍摄形式ID", hidden = true)
    private Integer shootModeId;
    @ApiModelProperty(value = "拍摄形式名称", hidden = true)
    private String shootModeName;
    @ApiModelProperty(value = "供应商类型ID", hidden = true)
    private String supplierTypeId;
    @ApiModelProperty(value = "供应商类型名称", hidden = true)
    private String supplierTypeName;

    @ApiModelProperty(value = "供应商主键ID", hidden = true)
    private Integer supplierId;
    @ApiModelProperty(value = "供应商名称", hidden = true)
    private String supplierName;

    @ApiModelProperty(value = "服务类型ID", hidden = true)
    private Integer serviceTypeId;
    @ApiModelProperty(value = "服务类型名称", hidden = true)
    private String serviceTypeName;
    @ApiModelProperty(value = "服务名称", hidden = true)
    private String serviceName;
    @ApiModelProperty(value = "预估结算日期")
    private String estimatedSettlementDate;
    @ApiModelProperty(value = "单价", hidden = true)
    private String unitPrice;
    @ApiModelProperty(value = "数量", hidden = true)
    private Double quantity;
    @ApiModelProperty(value = "预估成本", hidden = true)
    private String estimatedGenerationCost;
    @ApiModelProperty(value = "已支付",hidden = true)
    private BigDecimal supplierPaidAmount;
    @ApiModelProperty(value = "未支付",hidden = true)
    private BigDecimal supplierUnpaidAmount;
    @ApiModelProperty(value = "供应商评级",hidden = true)
    private Double finalEvaluation;
    @ApiModelProperty(value = "描述", hidden = true)
    private String description;
    @ApiModelProperty(value = "已交付时长",hidden = true)
    private String contractFinishedTimeLength;
    @ApiModelProperty(value = "实际单价",hidden = true)
    private BigDecimal actualUnitPrice;
    @ApiModelProperty(value = "实际数量",hidden = true)
    private String actualQuantity;
    @ApiModelProperty(value = "其他费用",hidden = true)
    private BigDecimal otherExpenses;
    @ApiModelProperty(value = "实际总成本",hidden = true)
    private BigDecimal actualTotalCost;
    @ApiModelProperty(value = "实际时长",hidden = true)
    private String actualTimeLength;
    @ApiModelProperty(value = "支付状态",hidden = true)
    private String paymentState;
    @ApiModelProperty(value = "发票类型ID",hidden = true)
    private Integer invoiceTypeId;
    @ApiModelProperty(value = "发票类型名称",hidden = true)
    private String invoiceTypeName;
    @ApiModelProperty(value = "税点",hidden = true)
    private String taxPoint;
    @ApiModelProperty(value = "拍摄素材",hidden = true)
    private String shootSourceMaterial;
    @ApiModelProperty(value = "工程归档日期",hidden = true)
    private Date projectFilingDate;
    @ApiModelProperty(value = "净版归档日期",hidden = true)
    private Date pureFilingDate;
    @ApiModelProperty(value = "归档日期",hidden = true)
    private Date filingDate;
    @ApiModelProperty(value = "结款日期",hidden = true)
    private Date settlementDate;
    @ApiModelProperty("入库单-入库基本信息-拍摄形式")
    private String inShootMode;
    @ApiModelProperty("入库单-入库基本信息-入库提供人")
    private String inProvider;
    @ApiModelProperty("入库单-入库基本信息-入库时填写的讲师姓名")
    private String inTeachers;
    @ApiModelProperty("入库单-入库基本信息-提供方式")
    private String inProvideMode;
    @ApiModelProperty("入库单-入库基本信息-提供日期")
    private Date inProvideDate;
    @ApiModelProperty("入库单-入库基本信息-可结款日期")
    private Date inSettlementDate;
    @ApiModelProperty("入库单-入库基本信息-视频存档URL")
    private String inVideoUrl;
    @ApiModelProperty("入库单-入库基本信息-工程存档URL")
    private String inProjectUrl;
    @ApiModelProperty("入库单-入库基本信息-实际时长")
    private String inActualTimeLength;
    @ApiModelProperty("入库单-入库基本信息-约定售后期限")
    private String inAfterSaleTimeLimit;
    @ApiModelProperty("入库单-入库基本信息-课程库备注")
    private String inCourseLibRemark;
    @ApiModelProperty("入库单-状态反馈信息-开始下载时间")
    private String feedbackDownloadStartTime;
    @ApiModelProperty("入库单-状态反馈信息-完成下载时间")
    private String feedbackDownloadEndTime;
    @ApiModelProperty("入库单-状态反馈信息-课程核对状态")
    private String feedbackCourseCheckState;
    @ApiModelProperty("入库单-状态反馈信息-课程反馈状态")
    private String feedbackCourseState;
    @ApiModelProperty("入库单-状态反馈信息-ERP反馈状态")
    private String feedbackErpState;
    @ApiModelProperty("入库单-供应商信息-版本信息")
    private String supplierInfoVersion;
    @ApiModelProperty("入库单-供应商信息-结款人")
    private String supplierInfoPayer;
    @ApiModelProperty("入库单-供应商信息-验收单路径")
    private String supplierInfoAcceptanceReportPath;
    @ApiModelProperty("入库单-供应商信息-验收单备注")
    private String supplierInfoAcceptanceReportRemark;
    @ApiModelProperty("入库单-供应商信息-终版数量")
    private Integer supplierInfoEndEditionQuantity;
    @ApiModelProperty("入库单-供应商信息-纯净版数量")
    private Integer supplierInfoPureQuantity;
    @ApiModelProperty("入库单-供应商信息-字幕数")
    private Integer supplierInfoSubtitlesNumber;
    @ApiModelProperty("入库单-供应商信息-工程数量")
    private Integer supplierInfoProjectNumber;
    @ApiModelProperty("入库单-供应商信息-是否有大纲(0无、1有)")
    private Integer supplierInfoIsOutline;
    @ApiModelProperty("入库单-供应商信息-是否有讲稿(0无、1有)")
    private Integer supplierInfoIsSpeech;
    @ApiModelProperty("入库单-供应商信息-是否有PPT(0无、1有)")
    private Integer supplierInfoIsPpt;
    @ApiModelProperty("入库单-供应商信息-供应商备注")
    private String supplierInfoRemark;
    @ApiModelProperty("入库单-课程质量评分")
    private Integer courseQualityEvaluation;
    @ApiModelProperty("入库单-课程质量评语")
    private String courseQualityComment;
    @ApiModelProperty(value = "记录状态", hidden = true)
    private Integer state;
    @ApiModelProperty("编辑状态（false or true）")
    private Boolean rowEdit;
    @ApiModelProperty(value = "记录更新时间", hidden = true)
    private Date updateTime;
    @ApiModelProperty(value = "记录创建时间", hidden = true)
    private Date createTime;
}
